package org.yn.auth.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.yn.auth.dto.LoginDTO;
import org.yn.auth.service.ILoginService;
import org.yn.base.util.AjaxResult;

import javax.validation.Valid;
import java.util.Map;


@RestController
public class LoginController {
    @Autowired
    ILoginService loginService;

//    @PostMapping("/login")
//    public AjaxResult login(@RequestBody LoginDTO dto){
//        try {
//            Map<String,Object> map = loginService.login(dto);
//            return AjaxResult.success(map);
//        } catch (Exception e) {
//            e.printStackTrace();
//            return AjaxResult.error(e.getMessage());
//        }
//    }
//    @PutMapping("/LoginOut")
//    public AjaxResult LoginOut(HttpServletRequest request){
//        try {
//            String token = request.getHeader("token");
//            LoginContext.loginMap.remove(token);
//            return AjaxResult.success();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return AjaxResult.error(e.getMessage());
//        }
//    }


    @PostMapping("/login")
    public AjaxResult login(@Valid @RequestBody LoginDTO dto){
        // 返回结果-----包含token和登录信息
        Map<String, Object> map = loginService.login(dto);
        return AjaxResult.success(map);
    }

    @PostMapping("/login/wechat/{code}")
    public AjaxResult wxLogin(@PathVariable String code){
        //微信登录
        Map<String, Object> map =  loginService.wxLogin(code);
                       //map 里面可以存放  accessToken  openid 等等
        return AjaxResult.success(map);
    }
}
